package br.trainee.web.bo.impl;


import javax.inject.Inject;

import br.trainee.web.dao.service.IUsuarioDAO;
import br.trainee.web.util.UtilFuncoes;
import br.trainee.web.vo.UsuarioVO;

public class UsuarioBO {

	//@Inject
	private IUsuarioDAO dao;
	
	
	/**
	 * Esse método será chamado a partir da tela login.jsp
	 * 
	 * Esse método valido se o login enviado está preenchido ou não
	 * @param usuario - Deste parâmetro somente será usado o login
	 * @return true caso o campo está válido e false caso contrário
	 */
	public boolean isUsuarioInvalido(UsuarioVO usuario){
		
		return UtilFuncoes.isCampoVazio(usuario.getLogin());
	}
	
	/**
	 * Esse método será chamado a partir da tela login.jsp
	 * 
	 * Esse método valido se o senha enviado está preenchido ou não
	 * @param usuario - Deste parâmetro somente será usado o senha
	 * @return true caso o campo está válido e false caso contrário
	 */
	public boolean isSenhaInvalida(UsuarioVO usuario){
		
		return UtilFuncoes.isCampoVazio(usuario.getSenha());
	}
	
	public UsuarioVO verificaUsuarioLogado(UsuarioVO usuarioEntrada){
		
		//Para comparar com o registro do banco, a senha deve estar criptografada em MD5
		String senha = UtilFuncoes.criptografarMd5(usuarioEntrada.getSenha());
		usuarioEntrada.setSenha(senha);
		
		return dao.verificaUsuarioLogado(usuarioEntrada);
		
	}
	
	public boolean isLembrarUsuarioSelecionado(String lembrarUsuario){
		
		return lembrarUsuario == null || lembrarUsuario.trim().equals("");
	}
	
	
	
	
	
}
